package request

import (
	"time"

	"gitcode.com/G-YT/iHealth25/server/model/common/request"
)

// OrderSearch 订单搜索结构体
type OrderSearch struct {
	request.PageInfo
	StartTime     *time.Time `json:"startTime" form:"startTime"`         // 开始时间
	EndTime       *time.Time `json:"endTime" form:"endTime"`             // 结束时间
	UserName      *string    `json:"userName" form:"userName"`           // 用户名称
	ProductName   *string    `json:"productName" form:"productName"`     // 商品名称
	OrderNo       *string    `json:"orderNo" form:"orderNo"`             // 订单编号
	OutTradeNo    *string    `json:"outTradeNo" form:"outTradeNo"`       // 商户订单号
	TransactionId *string    `json:"transactionId" form:"transactionId"` // 微信支付订单号
	Status        *uint      `json:"status" form:"status"`               // 订单状态
	ProductType   *uint      `json:"productType" form:"productType"`     // 商品类型
}

// CreatePayOrderRequest 创建支付订单请求结构体
type CreatePayOrderRequest struct {
	//UserId        uint                   `json:"userId" form:"userId" binding:"required"`               // 用户ID
	ProductId     uint                   `json:"productId" form:"productId" binding:"required"`         // 商品ID
	Quantity      uint                   `json:"quantity" form:"quantity" binding:"required"`           // 数量
	SelectedSpecs map[string]interface{} `json:"selectedSpecs" form:"selectedSpecs" binding:"required"` // 选择的规格
}

// UserOrderListRequest 用户订单列表请求结构体
type UserOrderListRequest struct {
	request.PageInfo
	StartTime *time.Time `json:"startTime" form:"startTime"` // 开始时间
	EndTime   *time.Time `json:"endTime" form:"endTime"`     // 结束时间
}

// DeleteOrderRequest 删除订单请求结构体
type DeleteOrderRequest struct {
	ID uint `json:"id" form:"id" binding:"required"` // 订单ID
}

// BatchDeleteOrderRequest 批量删除订单请求结构体
type BatchDeleteOrderRequest struct {
	IDs       []uint     `json:"ids" form:"ids"`             // 订单ID列表
	StartTime *time.Time `json:"startTime" form:"startTime"` // 开始时间
	EndTime   *time.Time `json:"endTime" form:"endTime"`     // 结束时间
	UserName  *string    `json:"userName" form:"userName"`   // 用户名称
	Status    *uint      `json:"status" form:"status"`       // 订单状态
	OrderNo   *string    `json:"orderNo" form:"orderNo"`     // 订单编号
}
